package com.ly.hotel.board.ADA648;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.List;
import java.util.Vector;

import com.ly.hotel.common.Constants;
import com.ly.hotel.model.LiveManagement;

import android.util.Log;

/**
 * @author Administrator 与电视有关的工具
 */
public class TvChannelAda648 {
	private static boolean tvListLoaded = false;

	public static List<LiveManagement> getTvlistFromLlocal() throws NumberFormatException, IOException {
		File f = new File(Constants.SPA_TV_LIST_FILE_PATH);
		
		List<LiveManagement> list = new Vector<LiveManagement>();

		// 网络获取不到，直接查看本地是否存在，存在的话就加载之，并转换一份到LiveManagement列表中
		Log.i("AtvUtil","通过本地文件初始化电视列表的数据");
		if (f.exists()) {
			InputStreamReader ir = new InputStreamReader(new FileInputStream(Constants.SPA_TV_LIST_FILE_PATH), "utf-8");
			BufferedReader bf = new BufferedReader(ir);

			String tempString;
			int line = 0;

			// 一次读一行，读入null时文件结束
			while ((tempString = bf.readLine()) != null) {
				// 把当前行号显示出来
				Log.i("AtvUtil","line " + line + ": " + tempString);
				line++;

				String[] arr = tempString.split("-");
				LiveManagement lm = new LiveManagement();

				// arr数组的格式是: 0-珠江-27200-PAL-I
				lm.setPosition(Integer.parseInt(arr[0])); // 设置台号
				lm.setName(arr[1]); // 电视台
				lm.setFreq(arr[2]); // 频率
				lm.setZhishi(arr[3]); // 视频制式
				lm.setRadioZhishi(arr[4]); // 音频制式

				list.add(lm);
			}
			bf.close();
		}else{
			Log.e("AtvUtil", "本地节目文件不存在！");
			list = null;
		}

		return list;
	}
}
